manually process