Component programming project