works. about to implement drawbase