update to work with documentation and add consistency between types