clean up, change core concepts