Working on basic structure and filling out how it should work