first commit on backend logic