as submitted for cs50