Added initialize and reset methods