Hopefully code is cleaner