CJ: [STILL NOT WORKING!] refactor and base Item class