first commit, added basic functions