move tarsus into separate library