Added first set of logic and objects and tests