move interfaces to ast