abstracted externals to libperk