Refactor
Update documentation