add new function
create new lib
create test controllers