move processing out of constructor