committing whatever, going to re-write this