it's not shiting itself now
function pointers not cocking up