proper param typing