Initial attempt at adding new features, all changes are beta.