version 1.50, with nearly all requirement finished