refactored + SBT used