Changed firmId to String and added some exceptions for catching bad
arguements