Challenge 1 complete

-- oh damn, still need to refactor!