this should be first to avoid dependency foo