#1 split lib and application