Messy but it could do the job