latency added in motivation, some polishing