added read functions
change project structure and rebuild script