updated to completely override the native select and provide my own