use instance var loop instead of setting each corresponding attribute individually, also let's try to follow Sandi Metz' rules a little more by breaking up methods