Implement basic functionality and test