little more abstraction for other users