the code has been cleaned up