Removing redundant code
First draft of the revised API