Added chainability and reset functionality