Add tests and basic outline of Layer