refactor
remove action layer
refactor