added category argument
updated