Most functionality is implemented