refactor (super)methods