separated core and databind functionality