reduced future duplicated code