Add cache
refactoring project struct
sync