service wrapper and docs