Started factory test and added classes/interface