implemented custom strategy