Initial commit of basic funcitonality