refactoring following dart conventions