add bool types and tidy up num methods