Add specs and improve request process