added more decrefs to close memory leak