first semi-working draft for multiple ast