cleaned up, instructions at top