Moved more logic out of html and aligned components to grid