added updateable support and additional methods