environment setup
first attempt at the core