@futurekr: This is a lot