Forgot to commit earlier :P basic implementation and functionality started