made modules of the project files. separated api and impl classes.
moved interface classes from api package up a level.