just did astyle for nice formatting