first implementation of project 3