ugly ass list but it does the trick