Initial working commit with tests