moving functions sourcing to later to avoid path issues