Select core implemented. Need more testing