parameters now work efficiently, tieing is iwth observer pattern