Need to refactor more code, finished checking in between