some todos inspired from other libraries