projection now works but not sure if it's an elegant solution