code re-factor 04-13