added ascii implementation