updates for special cases and shit