major changes to implementation
Added ast feature, which required changing syntax and doing major modifications to the implementation. Some changes still need to be made, the code needs to be cleaned up, and the implementation needs to be tested.