Cleanup and further implementation