thats why I suggest going with chads implementation