adds following functionality