Commented all functions