added functions implementation file