finishing up model, needs validation and api interaction