Re-worked backend GUI logic