fixed selection types and return values