added test but needs much more work