Fixed naming convention from exclamation mark to a more preferrable scheme.
Also added additional methods to existing generics.
More methods for user functions
Updated documentation