basic shadow and defs...still hacky