refactored Select method to take an Expression instead of object parameters