Revised project structure and added composer and phpunit tests