first commit, contains the main framework