added gradual char; needs to be improved through
updated todo
add color struct