refactor edit subject page, less reliance on session since single form processing