split into example and lib