Inductive Logic Programming (ILP) is concerned with the induction of first-order clausal theories. April is a new ILP system that can be classified as an empirical, non-interactive, single predicate learning system. In this report we describe the architecture and implementation details of April together with a description of its features and an explanation of how to use it. We also propose the use in ILP systems of two efficient data structures: the Trie, used to represent lists and clauses; and the RL-Tree, a novel data structure used to represent clauses coverage list. We empirically evaluate the impact on April's performance of the proposed data structures, together with the impact evaluation of the coverage caching technique. April's development is an on going work. Although the results obtained are encouraging, there are still areas to improve. Areas for further research are identified.