Added default states and OO