project 4 base with cube implementation