draft - re-factoring fx