cleaned up interfaces, added lodepng