refactored and added specs
more refactor, added new specs, and added zip code form