build interface