Working refactored API after @sammyt recommendations