I might of cut a few corners on this one