fix static, make generic