Add lots of stuff. Pass tests