add setTimeout instead of exposing attribute and make put method of Client
reorder functions/methods: functions on top, new, then methods