proper main-method