Finished Refactoring Select to return dynamic types