separated into example and library projects