Could be more clean but okay