initial behaviour loop