refactor & collect classes