aagbsn's patch
Some progress... still rough draft not working