self note: no hardcoding