Semi working version.