moved definitions back to .mm