without libraries