added projects api
refactored for better class structure