Cleaned up by louisxiv