fix bugs
add proper rendering