optimize member, second try