Cleaned up and Simplified