cleanup
comparison functions