rework class layout