correct shift shift (hardcoded) and nicer advanced compilation handling