added basic ADT structure