remainder test passes
added skeletons of future backends