same in less code