reworked external lib