remove generic, fix constructor