some basic declarations