ws
unnecessary abstract keywords