Turned this really into a pup project.