Restructuring API & adding Project class