Split up init a bit to spread out the complexity