movement implemented again