working on feature requests #18, #14, #10, #8,
working on feature requests #18, #14, #10, #8,