made constructor private