First big fat chunck of basis functionality. Alpha, unstable, maybe doesnt even compile properly.