New init method and more documentation