Intial commit with basic functions