added problem 4. it could definitely be faster