Added full solution