cleaned up test dependencies
fully supports scope and type checking