changed sample Components to structs(they're meant to me structs, not classes, they shouldn't encapsulate things)