First commit, core class and methods 50 % complete.