wrap the core in class