Cleaned up & Updated