Separated project into sub-libraries