Cleaned up and converted to Composer