use tuple not list if possible