add some perfectly cromulent functions