added fluent interface to functions