added some logic to admin and who controls what but it is still not good