refactor item manager's alter and create