validation not fully working yet