implemented my familiar functions