improve class/file structure