Basic GUI added, needs optimization.