First commit: added basic functions