Basic functionality (all tests pass!)