edit working, fully factored form