basic inventory implementation