refactor: shape and shadow in group, group in its own layer