added helper methods and default settings