adding basic function definitions