Portfolio Challenge 3

There's more I'd like to do, but this is the base w/ validations.