Implemented the core and added the first acceptance test