Initial solution for #6, needs to be cleaned up still