cleaned up and ready for feedback