first commit. fully functional prototype