code refactoring & cleanup;performance testing;OOP;better directory structure