make rest functions more modular, ease of use