lets do this properly