Initial environment setup and few core classes.