added a bit more documentation