implemented init, draw