replace toImpl with parse