some more documentation
improve step implementations