non-static block construct