cleaned up and organized