optimize the code
convert to coffee complete
add tag alias support