start of conversion over to pure python (this will not currency work!)