rule of three for remaining backend classes