separate into two packages