formatting update && allow client-defined time-length