adding several tools
adding helpful functions