add some rules... long way to go