Signed-off-by: deadprogram <ron@hybridgroup.com>
This is not entirely complete (some errors are not handled properly) but it's a start.