Adding support for backgroundcolor

There's a lot of refactoring to be done, but this should be fine for now.