Completed following logic & GUI