Completed general functionality