separate onPerform sync into methods