cleaned up ast