better instantiaion