parse sub