first version of the project (already functional)