major refactor. make pythonic and read colors from yaml