implemented movement