more documentation and convenience methods