hopefully cleaned up