backend cleanup and continuing allowing nil on the front