Basic functionality with tests