re-implement class file parsing