Lots of changes

Signed-off-by: Darren Ehlers <me@darrenehlers.com>