with encoder