This issue is to follow up on PR #10 Look at the organization of the code and the API Review for code correctness