ambigious constructor resolved