provided Strategy-pattern