core functions to interact with diff file types