An ALPHA commit with most of the parts in semi working order.
A lot more cleanup and developement needed.