golang functions (to be included in other projects)