Changed base-class for a more intuitive usage
Did some cleaning up and cosmetics