All requirements. Cleaned up code. Added Samp