used proper initialization