added necessary things