added some text to implementation, done now