updates

shadow implemented ok