Added unified, less-laggy implementation