Functions completed, works as designed