scope constructor