abstractize more; convert some class methods to static methods